package com.zmn.plat.dubbo.interfaces.channel.workorder.picture;

import java.util.List;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;

import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.common.dto.channel.workorder.picture.ChannelWorkOrderPictureDIO;
import com.zmn.plat.common.dto.channel.workorder.picture.ChannelWorkOrderPictureDRO;

import com.zmn.plat.common.dto.channel.workorder.picture.ChannelWorkOrderPictureStandardDRO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**
 * @author linfeng
 * @description 渠道-工单照片
 * @since 2019/10/21 18:17
 * @modifier
 **/
@Api(value = "工单照片服务", tags = {"工单照片"})
public interface ChannelWorkOrderPictureListRemoteService {
    /**
     * 描述: 根据主键查询工单照片
     *
     * @param id
     * @return ChannelWorkOrderPictureDRO
     * @auther: linfeng
     * @since: 2020/09/17 11:11
     */
    @ApiOperation(value = "根据主键查询工单照片", response = ResponseDTO.class, notes = "", tags = {"工单照片"})
    ResponseDTO<ChannelWorkOrderPictureDRO> getById(@NotNull(message = "主键id不能为空") @Positive(message = "主键id必须为大于0的正整数") @ApiParam(value = "主键id", required = true) Integer id);

    /**
     * 描述: 根据条件查询工单照片
     *
     * @param channelWorkOrderPictureDIO
     * @return ChannelWorkOrderPictureDRO
     * @auther: tanbiao
     * @since: 2020/09/17 11:11
     */
    @ApiOperation(value = "根据条件查询工单照片", response = ResponseDTO.class, notes = "", tags = {"工单照片"})
    ResponseDTO<List<ChannelWorkOrderPictureDRO>> listByQuery(@NotNull(message = "入参不能为空") @Valid @ApiParam(value = "查询条件", required = true) ChannelWorkOrderPictureDIO channelWorkOrderPictureDIO);

    /**
     * 描述: 根据条件查询工单照片
     *
     * @param channelWorkOrderPictureDIO
     * @return ChannelWorkOrderPictureDRO
     * @auther: sunlife、
     * @since: 2021/11/02 11:11
     */
    @ApiOperation(value = "根据条件查询工单照片审核标准配置", response = ResponseDTO.class, notes = "", tags = {"工单照片审核标准配置"})
    ResponseDTO<List<ChannelWorkOrderPictureStandardDRO>> listStandardByQuery(@NotNull(message = "入参不能为空") @Valid @ApiParam(value = "查询条件", required = true) ChannelWorkOrderPictureDIO channelWorkOrderPictureDIO);
}
